package com.yuw.dao;


import com.yuw.bean.UserInfoBean;
import org.apache.ibatis.annotations.Param;


import java.util.List;

public interface UserInfoBeanMapper {

    /**
     * 登录用户进行信息验证
     *
     * @param userB 验证信息参数
     * @return 信息验证查询结果集
     */
    public List<UserInfoBean> selectLoginedUserInfo(UserInfoBean userB);

    /**
     * 根据查询条件查询用户信息[根据参数决定是否进行倒序排序]
     *
     * @param userB  查询条件参数实体类
     * @param isDESC 是否使用倒叙排序【true：倒序排序；false：正序排序】
     * @return 查询结果集
     */
    public List<UserInfoBean> getUserInfoByParams3(@Param("userB") UserInfoBean userB, @Param("isDESC") boolean isDESC);

    /**
     * 根据查询条件查询用户信息[根据查询条件动态查询]
     *
     * @param strUserName    查询条件参数:用户名
     * @param strUserAddress 地址
     * @return 查询结果集
     */
    public List<UserInfoBean> getUserInfoByParams2(String strUserName, String strUserAddress);

    /**
     * 根据查询条件查询用户信息[根据查询条件动态查询]
     *
     * @param userB 查询条件参数实体类
     * @return 查询结果集
     */
    public List<UserInfoBean> getUserInfoByParams(UserInfoBean userB);

    /**
     * 通过主键查询用户信息
     *
     * @param list 用户信息主键id的结果集
     * @return 查询结果实体类
     */
    List<UserInfoBean> selectByUserIds(List<Integer> list);

    /**
     * 通过主键删除用户信息
     *
     * @param userid 主键id
     * @return 删除结果记录条数
     */
    int deleteByPrimaryKey(Integer userid);

    /**
     * 新增用户信息（新增所有字段）
     *
     * @param record 新增的用户信息实体类参数
     * @return 新增结果记录条数
     */
    int insert(UserInfoBean record);

    /**
     * 新增用户信息（新增非空字段）
     *
     * @param record 新增的用户信息实体类参数
     * @return 新增结果记录条数
     */
    int insertSelective(UserInfoBean record);

    /**
     * 通过主键查询用户信息
     *
     * @param userid 用户信息主键id
     * @return 查询结果实体类
     */
    UserInfoBean selectByPrimaryKey(Integer userid);


    /**
     * 通过主键修改用户信息（修改非空字段）
     *
     * @param record 用户信息实体类参数
     * @return 操作结果记录条数
     */
    int updateByPrimaryKeySelective(UserInfoBean record);

    /**
     * 通过主键修改用户信息（修改全部字段）
     *
     * @param record 用户信息实体类参数
     * @return 操作结果记录条数
     */
    int updateByPrimaryKey(UserInfoBean record);
}